package com.hwg.emp.dao;

import java.util.List;

import com.hwg.emp.common.dao.CommonDAO;
import com.hwg.emp.common.dto.KeysQueryDto;
import com.hwg.emp.dto.EmpDTO;
import com.hwg.emp.dto.PageBean;
import com.hwg.emp.model.EmployeeMD;


public interface EmployeeDAO extends CommonDAO<EmployeeMD>{
	/**
	 * 查询个人信息
	 * @param id 员工id
	 * @return 个人信息（对象）
	 * @throws Exception
	 */
	public EmpDTO selectOwnInfoById(String id) throws Exception;

	
	/**
	 * 查询员工信息
	 * @param account
	 * @param name
	 * @param age
	 * @param phone
	 * @param pagebean
	 * @return  返回员工集合
	 * @throws Exception
	 */
	public List selectEmployees(String dept_id,PageBean pagebean) throws Exception;
	

	/**
	 * 
	 * @param account
	 * @param name
	 * @param age
	 * @param phone
	 * @param pagebean
	 * @return
	 * @throws Exception
	 */
	public List<EmployeeMD> selectEmployee(String account,String name,String age,String phone,PageBean pagebean) throws Exception;
	
	/**
	 * 查询员工信息
	 * @param account
	 * @param name
	 * @param age
	 * @param phone
	 * @param pagebean
	 * @return  返回员工集合
	 * @throws Exception
	 */
	public List selectEmployees1(String dept_id,PageBean pagebean) throws Exception;
	
	/**
	 * 查询当前用户所在部门ID
	 * @param userId 用户ID
	 * @return 部门ID
	 * @throws Exception
	 */
	public String selectEmployeeDeptId(String userId) throws Exception;
	
	/**
	 * 查询出的员工数量
	 * @param account
	 * @param name
	 * @param age
	 * @param phone
	 * @return 员工数量
	 * @throws Exception
	 */
	public int selectEmployeesAcount(String dept_id) throws Exception;
	
	/**
	 * 条件查询员工
	 * @param dept_id
	 * @param pagebean
	 * @return
	 * @throws Exception
	 */
	public List selectEmpsByCondition(String phone, PageBean pagebean) throws Exception;
	
	/**
	 * 条件查询出员工的数量
	 * @param dept_id
	 * @return
	 * @throws Exception
	 */
	public int selectEmpsCountByCondition(String phone) throws Exception;
	
}
